#pragma once
class ConfigureData
{
public:
	struct suFaceMoveParam
	{
		float m_fLeftAngle;
		float m_fRightAngle;
		float m_fTolTime;
		float m_fStartPresentLeft;
		float m_fStartPresentRight;
	};
	struct suEvaluateParam
	{
		float m_fRadius;
		float m_anglePlus;
		float m_delHeight;

	};
	static shared_ptr<ConfigureData> GetInstance();
	bool LoadCfg(QString strFileName);

	static float GetLeftAngle()
	{
		return GetInstance()->m_faceParam.m_fLeftAngle;
	}
	static float GetRightAngle()
	{
		return GetInstance()->m_faceParam.m_fRightAngle;
	}
	static float GetTolTime()
	{
		return GetInstance()->m_faceParam.m_fTolTime;
	}
	static float GetStartPresentLeft()
	{
		return GetInstance()->m_faceParam.m_fStartPresentLeft;
	}
	static float GetStartPresentRight()
	{
		return GetInstance()->m_faceParam.m_fStartPresentRight;
	}
	static float GetEvaRadius()
	{
		return GetInstance()->m_evlParam.m_fRadius;
	}
	static float GetEvaAngle()
	{
		return GetInstance()->m_evlParam.m_anglePlus;
	}
	static float GetEvaHeightPlus()
	{
		return GetInstance()->m_evlParam.m_delHeight;
	}

	static vector<int> GetFaceIndex()
	{
		return  GetInstance()->m_vFaceInx;
	}

	static float GetFaceAddMin()
	{
		return  GetInstance()->m_iFaceAddMin;
	}
public:
	float m_iFaceAddMin;
	vector<int> m_vFaceInx;
	suFaceMoveParam m_faceParam;
	suEvaluateParam m_evlParam;
protected:
private:
	static shared_ptr<ConfigureData> m_pConfigureData;
};
